package com.shrct.businessprocess.product;

import com.shrct.businessprocess.product.RCAnonymousProductEntryEvent;
import com.shrct.businessprocess.product.RCAnonymouseProductEntryRoot;
import com.shrct.businessprocess.product.RCProductEntry;
import com.shrct.businessprocess.product.RCProductEvent;
import com.shrct.businessprocess.product.RCProductMetaType;
import com.shrct.businessprocess.product.impl.RCAnonymousProductEntryImpl;
import com.shrct.businessprocess.product.proxy.RCAnonymousProductEntryProxy;
import edu.fudan.mylang.pf.EntityImplementation;
import java.util.Collection;

@EntityImplementation(implementBy = RCAnonymousProductEntryImpl.class)
public interface RCAnonymousProductEntry extends RCProductEntry {
  public abstract Collection<RCAnonymousProductEntryEvent> getTrans();
  
  public abstract RCAnonymousProductEntry removeFromTrans(final RCAnonymousProductEntryEvent rCAnonymousProductEntryEvent);
  
  public abstract RCAnonymousProductEntry removeAllTrans();
  
  public abstract RCAnonymouseProductEntryRoot getEntryRoot();
  
  public abstract RCAnonymousProductEntry setEntryRoot(final RCAnonymouseProductEntryRoot entryRoot);
  
  public abstract Integer getCount();
  
  public abstract RCAnonymousProductEntry setCount(final Integer count);
  
  public abstract String getEntityName();
  
  public abstract Collection<? extends RCProductEvent> getEvents();
  
  public abstract RCProductMetaType getProductMetaType();
  
  public abstract Iterable<RCProductEntry> allRelatedProducts();
  
  public abstract RCAnonymousProductEntryProxy toProxy();
}
